1. Technical Field
The present invention relates in general to document presentation systems and in particular to a system and method for presenting multiple logical pages of a document on a single physical medium sheet. Still more particularly, the present invention relates to a system and method for presenting multiple sheetlets on a surface of a physical medium while presenting multiple logical pages within the multiple sheetlets.
2. Description of the Related Art
Conventional presentation architectures represent documents in a presentation format that is independent of the methods utilized to capture or create those documents. According to such presentation architectures, documents may contain combinations of text, image, graphics, and/or bar code objects in conjunction with presentation instructions that specify a presentation format for those objects. Presentation architectures for presenting documents in printed format generally employ a presentation data stream comprising a device-independent application data stream and a device-dependent printer data stream. A data stream is a continuous, ordered stream of elements which conform to a given format.
Application programs can generate application data streams destined for an archive library, another application program, or a presentation service such as a printing system. International Business Machines Corporation of Armonk, N.Y. has developed an application data stream architecture that is distributed under the two trademarks Mixed Object Document Content Architecture and MO:DCA. MO:DCA provides data structures which applications may utilize to specify document layout for transmission to other applications and application services such as print services.
Within MO:DCA, document components are organized into a hierarchy within which document objects are composed of page objects and page objects contain data objects (such as bar code objects, graphics objects, image objects and presentation text objects). The document, page, and data objects are defined by data structures within the application data stream that contain the presentation data which comprise a document""s content and the commands that specify the document""s layout. Structured fields, the main MO:DCA data structures, may carry presentation data and may contain layout information specifying the placement and orientation of the presentation data within a page.
A structured field typically starts with an introducer that uniquely identifies the command, provides a total length for the command, and specifies additional control information such as whether padding bytes are present. The introducer is then followed by up to 32,759 data bytes. Data may be encoded within the structured field utilizing fixed parameters, repeating groups, key words, and triplets. Fixed parameters have a meaning only in the context of the structure that includes them. Repeating groups are utilized to specify grouping of parameters that can appear multiple times. Key words are self-identifying parameters that consist of a one byte unique key word identifier followed by a one byte keyword value. Triplets are self-identifying parameters that contain a one byte length field, a one byte unique triplet identifier, and up to 252 data bytes. Key words and triplets have the same semantics whenever they are utilized. Together these structures define a syntax for MO:DCA data streams which provide for orderly parsing and flexible extendibility.
MO:DCA provides commands for specifying object layout on a page level, as well as xe2x80x9cN-upxe2x80x9d commands, which allow applications to direct the presentation system to present multiple (i.e., xe2x80x9cNxe2x80x9d) logical pages on one or both surfaces of a physical sheet and to customize the orientation and placement of each of those logical pages. N-up functionality was developed by International Business Machines Corporation and is described in U.S. Pat. No. 5,768,488, which is incorporated herein by reference. As explained in that patent, when a presentation system receives logical pages associated with N-up commands, the presentation system arranges each xe2x80x9cNxe2x80x9d of those logical pages (or, for duplex printing, two times xe2x80x9cNxe2x80x9d of those logical pages) into what is known as a logical sheet. For example, if printing simplex (i.e., on only a single side of each sheet of paper) in a 2-up format, the presentation system arranges two logical pages on each logical sheet before transferring that logical sheet to a physical sheet of paper. N-up commands, therefore, allow users to specify page position and orientation on a logical-sheet level.
Documents which are defined in the MO:DCA format are called presentation documents, and presentation documents may be archived in a database and later retrieved, viewed, annotated, and/or printed in local or distributed system environments. A data stream containing a presentation document is device independent. That is, the data stream should produce the same document content in the same format on different presentation devices, such as printers or display devices (dependent, however, on the capabilities of each presentation device).
A printer data stream within a presentation architecture is a device-dependent, continuous, ordered stream of data elements and objects conforming to a given format, which are destined for a presentation device. The printer data stream architecture distributed under the two trademarks Intelligent Printer Data Stream and IPDS defines a data stream that is utilized by print system managers (such as print server programs and print device drivers) to manage all-points-addressable page printing on a full spectrum of devices from low-end workstations and local area network-attached printers to high-speed, high-volume page printers for production jobs (Print On Demand environments), shared printing, and mailroom applications. That architecture was developed by International Business Machines Corporation and is disclosed within U.S. Pat. No. 4,651,278, which is incorporated herein by reference. Commonly, IPDS data streams are derived from MO:DCA data streams, and the presentation content of the IPDS data stream is then interpreted and presented by microcode executing in printer hardware.
The same content carried in a MO:DCA data stream can be carried in an IPDS data stream. As in MO:DCA, the main data structure in the IPDS architecture is called a structured field. The IPDS structured fields describe presentation layouts and provide for dynamic management of resources, such as overlays, page segments, and loaded fonts. For example, the IPDS architecture provides structured fields that correspond to the MO:DCA structured fields for xe2x80x9cN-upxe2x80x9d placement of multiple logical pages within a single physical sheet.
Additional important features of the IPDS architecture are bi-directional command and acknowledgement protocols at the data stream level for query, resource management, and error recovery, as well as interfaces for document finishing operations provided by pre-processing and post-processing devices (such as continuous-forms sheet splitters and collators) attached to IPDS printers. The acknowledgement protocol enables the exchange of query-reply information, page synchronization of the print system manager and print controller processes, and the return to the print system manager of detailed exception information.
In addition to commands for N-up printing, IPDS provides a command that invokes cut-sheet emulation (CSE). The CSE command is used to direct a printer containing continuous forms media of a particular size (e.g., 17 by 11 inches) to emulate a printer containing media half that size (e.g., 8.5 by 11 inches). Continuous forms printers that print simplex and duplex (i.e., on only one side and on both sides of a sheet of paper, respectively) are available, and CSE may be used in simplex mode to print two pages per sheet and in duplex mode to print 4 pages per sheet (two on the front surface and two on the back). When in CSE mode, the printer interacts with the print system manager as if each physical sheet was two physical sheets, thereby allowing twice as many pages to be printed simultaneously. In effect, the printer automatically issues internal N-up commands (as opposed to receiving explicit N-up commands from the application data stream) which cause the logical pages to be mapped to left and right sheetlets, which are printed simultaneously. The continuous forms paper is then directed into a post-processor, which slits each sheet of paper into two sheets and collates the resulting sheets to produce a cut-sheet document.
However, in conventional printing systems, N-up commands are controlled by the user, but CSE commands are not, in keeping with the device-independent nature of the application data stream. That is, a user application does not (and cannot) request CSE. Instead, the print system manager automatically requests CSE in response to determinations that the printer is configured to provide CSE (i.e., that a printer with CSE capabilities has been set by an operator to accept the CSE command) and that the logical pages in the application data stream will fit side-by-side on a physical sheet. The print system manager ascertains that the printer is configured for CSE and ascertains the dimensions of the physical sheet from the printer, via the bi-directional command and acknowledgement protocols mentioned above.
A further difference between CSE and N-up is that CSE does not allow either the position or the orientation of the logical pages on the presentation medium to be customized. For instance, if two-sheetlet CSE is invoked for output with 8.5 by 11 inch logical pages on a printer with 17 by 11 inch paper, the printer will position each logical page either entirely within the left half or entirely within the right half of the physical sheet. By contrast, N-up allows the origin of a page to be set at any position within the usable area of a physical sheet.
Production-level POD environments are typical of the environments within which CSE commands are useful. A typical POD environment requires the support of high-speed (400 pages per minute) and high-resolution (600 pels per inch) printers at or near rated speed. An advantage derived from utilizing a continuous-forms printer operating in CSE mode, rather than a cut-sheet printer, is that continuous-forms printers typically produce output faster than cut-sheet printers.
A disadvantage associated with conventional printing systems, however, is that CSE and N-up cannot be utilized together in those systems. A user may specify N-up commands, or a printer in CSE mode may specify what are, in effect, internal N-up commands, but if user-specified N-up commands are received while the printer is in CSE mode, CSE mode is automatically terminated. As should thus be apparent, it would be desirable to provide a system and method for presenting documents that allows N-up commands and multi-page emulation modes, such as CSE, to be utilized together. The present invention provides a system and method that provides such functionality.
A system and method are disclosed that utilize at least one N-up instruction together with at least one emulation instruction to cause multiple sheetlets to be presented on a surface of a physical sheet while multiple logical pages are presented within the multiple sheetlets. The at-least-one N-up instruction specifies that first and second logical pages are to be presented within a first sidemap and that a third logical page is to be presented within a second sidemap. The at-least-one emulation instruction specifies that said first sidemap is to be presented within a sheetlet on first area of a surface of a physical medium and that the second sidemap is to be presented within a second sheetlet on a second area of that surface.
All objects, features, and advantages of the present invention will become apparent in the following detailed written description.